package tp3;

import java.io.Serializable;

public class Filme implements Serializable{
    private int id;
    private String titulo;
    private int nota;
    private int numClientes;
    private String horario;
    private int sala;
    private String sinopse;

    /* Construtores */
    public Filme(){
        id = -1;
        nota = 0;
        numClientes = 0;
        sala = -1;
    }
    public Filme(Filme filme){
        this.id = filme.getId();
        this.titulo = filme.getTitulo();
        this.nota = filme.getNota();
        this.numClientes = filme.getNumClientes();
        this.horario = filme.getHorario();
        this.sala = filme.getSala();
        this.sinopse = filme.getSinopse();
    }

    /****** Gets ******/
    public int getId(){
        return id;
    }
    public String getTitulo(){
        return titulo;
    }
    public int getNota(){
        return nota;
    }
    public int getNumClientes(){
        return numClientes;
    }
    public String getHorario(){
        return horario;
    }
    public int getSala(){
        return sala;
    }
    public String getSinopse(){
        return sinopse;
    }

    /****** Sets ******/
    public void setId(int i){
        id = i;
    }
    public void setTitulo(String t){
        titulo = t;
    }
    public void setNota(int n){
        nota = n;
    }
    public void setNumClientes(int n){
        numClientes = n;
    }
    public void setHorario(String h){
        horario = h;
    }
    public void setSala(int s){
        sala = s;
    }
    public void setSinopse(String s){
        sinopse = s;
    }
    
    /* Da mais uma nota para o filme e retorna a nova media */
    public int modificaNota(int novaNota){
        nota = (int)(nota*numClientes + novaNota)/(numClientes+1);
        numClientes++;
        return nota;
    }

}
